procedure ProcessDir(RootDir:String);
var
    FileSearch: TSearchRec;
    Dir               : String;
begin

    Dir:=RootDir;
    FindFirst(Dir+'\*.*',faAnyFile, FileSearch);
    while FindNext(FileSearch)=0 do
       begin
          if (FileSearch.Attr = faDirectory) then begin
            if (FileSearch.Name<>'..') then
                   ProcessDir(Dir+'\'+FileSearch.Name)

          end else begin

               Form1.memo1.lines.add(Dir+'\'+
                                                                FileSearch.Name);
          end;


         Application.ProcessMessages;
       end;

       FindClose(FileSearch);
end;
